package cn.topevery.garden.entity.po;

import cn.topevery.garden.framework.base.BaseEntity;
import hw.topevery.framework.annotation.DbTable;
import hw.topevery.framework.annotation.DbTableField;
import hw.topevery.framework.enums.DbTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.locationtech.jts.geom.Geometry;

import java.time.LocalDate;
import java.util.List;

/**
 * 绿地记录
 *
 * @author code-generate
 * @date 2022-01-05
 */
@Data
@DbTable(tableName = "t_gre_land_record")
public class GreLandRecord extends BaseEntity {
        /**
     * land Id
     */
    @DbTableField(columnName = "c_land_int_id", dbType = DbTypeEnum.INTEGER)
    public Integer landIntId ;

    /**
     * UUID
     */
    @DbTableField(columnName = "c_land_id", dbType = DbTypeEnum.VARCHAR)
    public String landId ;

    /**
     * 编号
     */
    @DbTableField(columnName = "c_code", dbType = DbTypeEnum.VARCHAR)
    public String code ;

    /**
     * 大类ID
     */
    @DbTableField(columnName = "c_big_class_id", dbType = DbTypeEnum.VARCHAR)
    public String bigClassId ;

    /**
     * 大类
     */
    @DbTableField(columnName = "c_big_class_name", dbType = DbTypeEnum.VARCHAR)
    public String bigClassName ;

    /**
     * 中类ID
     */
    @DbTableField(columnName = "c_medium_class_id", dbType = DbTypeEnum.VARCHAR)
    public String mediumClassId ;

    /**
     * 中类
     */
    @DbTableField(columnName = "c_medium_class_name", dbType = DbTypeEnum.VARCHAR)
    public String mediumClassName ;

    /**
     * 小类Id
     */
    @DbTableField(columnName = "c_small_class_id", dbType = DbTypeEnum.VARCHAR)
    public String smallClassId ;

    /**
     * 小类
     */
    @DbTableField(columnName = "c_small_class_name", dbType = DbTypeEnum.VARCHAR)
    public String smallClassName ;

    /**
     * 所属路段
     */
    @DbTableField(columnName = "c_alone_load", dbType = DbTypeEnum.VARCHAR)
    public String aloneLoad ;

    /**
     * 绿地名称
     */
    @DbTableField(columnName = "c_gree_class", dbType = DbTypeEnum.VARCHAR)
    public String greeClass ;

    /**
     * 绿地类型
     */
    @DbTableField(columnName = "c_type", dbType = DbTypeEnum.VARCHAR)
    public String type ;

    /**
     * 面积(平方米）
     */
    @DbTableField(columnName = "c_measure", dbType = DbTypeEnum.DOUBLE)
    public Double measure ;

    /**
     * 绿化覆盖面积
     */
    @DbTableField(columnName = "c_gre_measure", dbType = DbTypeEnum.DOUBLE)
    public Double greMeasure ;

    /**
     * 地点描述
     */
    @DbTableField(columnName = "c_address", dbType = DbTypeEnum.VARCHAR)
    public String address ;

    /**
     * 范围
     */
    @DbTableField(columnName = "c_map_ranges", dbType = DbTypeEnum.OTHER)
    public Geometry mapRanges ;

    /**
     * 计算空间数据
     */
    @DbTableField(columnName = "c_geo_wkt", dbType = DbTypeEnum.VARCHAR)
    public String geoWkt ;

    /**
     * 公园服务半径
     */
    @DbTableField(columnName = "c_service_radius", dbType = DbTypeEnum.OTHER)
    public Geometry serviceRadius ;

    /**
     * 街道Id
     */
    @DbTableField(columnName = "c_street_id", dbType = DbTypeEnum.VARCHAR)
    public String streetId ;

    /**
     * 街道名称
     */
    @DbTableField(columnName = "c_street_name", dbType = DbTypeEnum.VARCHAR)
    public String streetName ;

    /**
     * 区域Id
     */
    @DbTableField(columnName = "c_distract_id", dbType = DbTypeEnum.VARCHAR)
    public String distractId ;

    /**
     * 区域
     */
    @DbTableField(columnName = "c_distract_name", dbType = DbTypeEnum.VARCHAR)
    public String distractName ;

    /**
     * 备注
     */
    @DbTableField(columnName = "c_desc", dbType = DbTypeEnum.VARCHAR)
    public String desc ;

    /**
     * 普查日期
     */
    @DbTableField(columnName = "c_date", dbType = DbTypeEnum.DATE)
    public LocalDate date ;

    /**
     * 植被属性
     */
    @DbTableField(columnName = "c_attr", dbType = DbTypeEnum.VARCHAR)
    public String attr ;

    /**
     * 植被数量
     */
    @DbTableField(columnName = "c_attr_cnt", dbType = DbTypeEnum.INTEGER)
    public Integer attrCnt ;

    /**
     * 是否免费开放
     */
    @DbTableField(columnName = "c_is_free", dbType = DbTypeEnum.BIT)
    public Boolean isFree ;

    /**
     * 版本 1 当前 0 历史
     */
    @DbTableField(columnName = "c_is_new", dbType = DbTypeEnum.INTEGER)
    public Integer isNew ;

    /**
     * 数据发布 0 false 1 ture
     */
    @DbTableField(columnName = "c_data_public", dbType = DbTypeEnum.BIT)
    public Boolean dataPublic ;

    /**
     * 
     */
    @DbTableField(columnName = "c_dept_id", dbType = DbTypeEnum.VARCHAR)
    public String deptId ;

    @ApiModelProperty(value = "坐标wkt字符串")
    private String serviceRadiusWkt;

    @ApiModelProperty(value = "附件")
    private List<GreFile> fileList;
}
